﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Raytracererer
{
    public interface Primitive
    {
        Color color
        {
            get;
            set;
        }

        double transparency
        {
            get;
            set;
        }

        double reflectivity
        {
            get;
            set;
        }

        double refractionIndex
        {
            get;
            set;
        }

        double diffuse
        {
            get;
            set;
        }

        Color specularity
        {
            get;
            set;
        }
    
        double Intersect(Ray ray,out Vector3 position);

        Vector3 Normal(Vector3 position);

        Color ColorAt(Vector3 position);

        bool isIn(Vector3 point);
    }
}
